package com.example.high_slope_electronic_sand_table.deviceStatus.service;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import com.example.high_slope_electronic_sand_table.deviceStatus.dto.GNSSDeviceStatusDTO;
import org.springframework.stereotype.Service;

@Service
public class GNSSDeviceStatusService {
    /**
     * 查询gnss设备状态信息
     *
     * @return
     */
    public GNSSDeviceStatusDTO getGNSSDeviceStatus() {
        GNSSDeviceStatusDTO gnssDeviceStatusDTO = new GNSSDeviceStatusDTO();
        // 水平误差
        gnssDeviceStatusDTO.setHorizontalError(0.5f);
        // 垂直误差
        gnssDeviceStatusDTO.setVerticalError(2.3f);
        // 数据更新率
        gnssDeviceStatusDTO.setDataChangeFrequency(RandomUtil.randomInt(3,5));
        // 输入电压
        gnssDeviceStatusDTO.setInputVoltage(12f);
        // 工作温度
        gnssDeviceStatusDTO.setOperatingTemperature(RandomUtil.randomFloat(-45, 75));
        // 存储温度
        gnssDeviceStatusDTO.setStorageTemperature(RandomUtil.randomFloat(-40, 80));
        // 环境湿度
        gnssDeviceStatusDTO.setAmbientHumidity(RandomUtil.randomFloat(30, 60));
        // 冲击和震动
        gnssDeviceStatusDTO.setShockAndVibration("冲击和震动");
        // 防水
        gnssDeviceStatusDTO.setWaterTightness("防水");
        // 设置时间
        gnssDeviceStatusDTO.setDatetime(DateUtil.format(DateUtil.date(), DatePattern.NORM_DATETIME_PATTERN));
        return gnssDeviceStatusDTO;
    }
}
